const path = require('path')
const fs = require('fs')
const mkdirp = require('mkdirp')

const tmp_path = path.join(path.dirname(__dirname), 'tmp');  //文件上传的临时目录
const uploads_path = path.join(path.dirname(__dirname), 'uploads');  //文件上传的最终目录

//转移文件
var moveFile = function (files) {
    var arr = {};
    if (files.length > 0) {
        files.forEach(item => {
            //第一步：//获取文件后缀
            let ext_name = path.extname(item.originalname);

            //第二步：创建最终的文件目录
            let obj = new Date();
            let year = obj.getFullYear().toString(); //年 2021
            let month = (obj.getMonth() + 1).toString(); //月 3 
            let day = obj.getDate().toString(); //天  8
            //console.log(path.join(item.destination, year));

            let dest_path = path.join(uploads_path, year, month, day); //上传文件的根目录
            try {
                if (!fs.existsSync(dest_path)) {
                    mkdirp.sync(dest_path)
                }
            } catch (error) {
                console.log(error);
                return;
            }



            //第三步： 将文件，从tmp 目录，转移到 uploads 目录下的，年/月/日 下面，同时，将文件后缀，改变上传前的文件后缀
            try {
                let file_data = fs.readFileSync(item.path);
                let file_name = dest_path + '/' + item.filename + ext_name;
                let file_name1 = path.join(dest_path, item.filename) + ext_name;
                arr[item.fieldname] = file_name;
                //console.log(file_name);
                //console.log(file_name1);
                fs.writeFileSync(file_name, file_data);
            } catch (err) {
                console.log(err);
            }

            //第四步： 删除 tmp 目录下面的原文件
            if (fs.existsSync(item.path)) {
                //console.log(item.path);
                fs.unlinkSync(item.path);
            }
        });
    }
    return arr;
}


module.exports = {
    moveFile
}